<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cadastro_model extends CI_Model {

	public function __construct(){
		parent::__construct();
	}
	
	
	public function getPerfilByNome($dados){
		$this->db->where('pfl_descricao', $dados);
		return $this->db->get('tbl_perfil')->row();
	}
	
	/* INÍCIO BLOCO DE FORNECEDOR */
	
	public function getFornecedorById($dados){
		$this->db->where('for_id', $dados);
		return $this->db->get('tbl_fornecedor')->row();
	}
	
	public function getUltimoFornecedor(){
		return $this->db->query(
				"SELECT * FROM tbl_fornecedor
				 WHERE for_excluido = ?
				 ORDER BY for_id DESC
				 LIMIT ?", array(0, 1))->row();	
	}
	
	public function listarFornecedor($dados){
		$strComplemento = "";
		
		if ( isset($dados['busca']) && $dados['busca'] != "" ){
			$strComplemento .= " AND for_nome LIKE '%".$dados['busca']."%'";
		}
		if ($dados['status'] == "" || $dados['status'] == null){
			$dados['status'] = "1";
		}
		if ($dados['ordenacao'] == "" || $dados['ordenacao'] == null){
			$dados['ordenacao'] = "for_nome";
		}
		if ($dados['modoOrdenacao'] == "" || $dados['modoOrdenacao'] == null){
			$dados['modoOrdenacao'] = "desc";
		}
		
		return $this->db->query(
				"SELECT * FROM tbl_fornecedor
				 WHERE for_excluido = ?
				 AND for_status = ?
				 ". $strComplemento ."
				 ORDER BY ? ?", array("0", $dados['status'], $dados['ordenacao'], $dados['modoOrdenacao']))->result();
	}
	
	public function adicionarFornecedor($dados){
		return $this->db->query(
				"INSERT INTO tbl_fornecedor (
					for_nome, 
					for_razaoSocial, 
					for_cnpj, 
					for_endereco,
					for_cidade,
					for_bairro,
					for_cep, 
					for_ddd, 
					for_telefone, 
					for_email, 
					for_contato, 
					for_site, 
					for_dataCadastro, 
					for_status, 
					for_excluido
				) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), 0, 0)",
					array(
							$dados['nome'], 
							$dados['razao_social'], 
							$dados['cnpj'], 
							$dados['endereco'],
							$dados['cidade'],
							$dados['bairro'], 
							$dados['cep'], 
							$dados['ddd'], 
							$dados['telefone'], 
							$dados['email'], 
							$dados['contato'], 
							$dados['site']
					)
				);
	}
	
	public function alterarFornecedor($dados){
		return $this->db->query(
				"UPDATE tbl_fornecedor 
					SET for_nome = ?,
						for_razaoSocial = ?,
						for_cnpj = ?,
						for_endereco = ?,
						for_cidade = ?,
						for_bairro = ?,
						for_cep = ?,
						for_ddd = ?,
						for_telefone = ?,
						for_email = ?,
						for_contato = ?,
						for_site = ?
				WHERE for_id = ?",
					array(
							$dados['nome'],
							$dados['razao_social'],
							$dados['cnpj'],
							$dados['endereco'],
							$dados['cidade'],
							$dados['bairro'],
							$dados['cep'],
							$dados['ddd'],
							$dados['telefone'],
							$dados['email'],
							$dados['contato'],
							$dados['site'],
							$dados['fornecedor']
					)
				);
	}
	
	public function excluirFornecedor($dados){
		return $this->db->query(
				"UPDATE tbl_fornecedor
				 SET for_excluido = ?
				 WHERE for_id = ?", array(1, $dados));
	}
	
	
	/* FIM BLOCO FORNECEDOR */
	
	/* INÍCIO BLOCO CLIENTE */
	
	public function getClienteById($dados){
		$this->db->where('cli_id', $dados);
		return $this->db->get('tbl_cliente')->row();
	}
	
	public function getUltimoCliente(){
		return $this->db->query(
				"SELECT * FROM tbl_cliente
				WHERE cli_excluido = ?
				ORDER BY cli_id DESC
				LIMIT ?", array(0, 1))->row();
	}
	
	public function listarCliente($dados){
		$strComplemento = "";
	
		if ( isset($dados['busca']) && $dados['busca'] != "" ){
			$strComplemento .= " AND cli_nome LIKE '%".$dados['busca']."%'";
		}
		if ($dados['status'] == "" || $dados['status'] == null){
			$dados['status'] = "1";
		}
		if ($dados['ordenacao'] == "" || $dados['ordenacao'] == null){
			$dados['ordenacao'] = "cli_nome";
		}
		if ($dados['modoOrdenacao'] == "" || $dados['modoOrdenacao'] == null){
			$dados['modoOrdenacao'] = "desc";
		}
	
		return $this->db->query(
				"SELECT * FROM tbl_cliente
				 WHERE cli_excluido = ?
				 AND cli_status = ?
				 ". $strComplemento ."
				 ORDER BY ? ?", array("0", $dados['status'], $dados['ordenacao'], $dados['modoOrdenacao']))->result();
	}
	
	public function adicionarCliente($dados){
		return $this->db->query(
				"INSERT INTO tbl_cliente (
					tcl_id,
					ttr_id,
					cli_nome,
					cli_cnpj,
					cli_endereco,
					cli_cidade,
					cli_bairro,
					cli_cep,
					cli_ddd,
					cli_telefone,
					cli_email,
					cli_contato,
					cli_site,
					cli_dataCadastro,
					cli_status,
					cli_excluido
				) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), 0, 0)",
					array(
							$dados['tipo_cliente_loja'], 
							$dados['tipo_transacao'],
							$dados['nome'], 
							$dados['cnpj'],
							$dados['endereco'],
							$dados['cidade'],
							$dados['bairro'],
							$dados['cep'],
							$dados['ddd'], 
							$dados['telefone'],
							$dados['email'], 
							$dados['contato'], 
							$dados['site']
					)
				);
	}
	
	public function alterarCliente($dados){
		return $this->db->query(
				"UPDATE tbl_cliente 
					SET tcl_id = ?,
						ttr_id = ?,
						cli_nome = ?,
						cli_cnpj = ?,
						cli_endereco = ?,
						cli_cidade = ?,
						cli_bairro = ?,
						cli_cep = ?,
						cli_ddd = ?,
						cli_telefone = ?,
						cli_email = ?,
						cli_contato = ?,
						cli_site = ?
				WHERE cli_id = ?",
					array(
							$dados['tipo_cliente_loja'],
							$dados['tipo_transacao'],
							$dados['nome'],
							$dados['cnpj'],
							$dados['endereco'],
							$dados['cidade'],
							$dados['bairro'],
							$dados['cep'],
							$dados['ddd'],
							$dados['telefone'],
							$dados['email'],
							$dados['contato'],
							$dados['site'],
							$dados['cliente']
					)
				);
	}
	
	public function excluirCliente($dados){
		return $this->db->query(
				"UPDATE tbl_cliente
				SET cli_excluido = ?
				WHERE cli_id = ?", array(1, $dados));
	}
	
	
	/* FIM BLOCO CLIENTE */
	
	/* INÍCIO BLOCO USUÁRIO */
	
	public function getUltimoUsuario(){
		return $this->db->query(
				"SELECT * FROM tbl_usuario
				 WHERE usu_excluido = ?
				 ORDER BY for_id DESC
				 LIMIT ?", array(0, 1))->row();
	}
	
	public function getUsuarioPorId_Nome($dados){
		/* echo "<pre>";
		print_r($dados);
		echo "</pre>";
		exit; */
		
		$strComplemento = "";
	
		if ( isset($dados['fornecedor']->for_id) && $dados['fornecedor']->for_id != "" ){
			$strComplemento .= " AND for_id = ".$dados['fornecedor']->for_id;
		}
	
		if ( isset($dados['fornecedor']->for_contato) && $dados['fornecedor']->for_contato != "" ){
			$strComplemento .= " AND usu_nome LIKE '%".$dados['fornecedor']->for_contato."%'";
		}
		
		if ( isset($dados['cliente']->cli_id) && $dados['cliente']->cli_id != "" ){
			$strComplemento .= " AND cli_id = ".$dados['cliente']->cli_id;
		}
		
		if ( isset($dados['cliente']->cli_contato) && $dados['cliente']->cli_contato != "" ){
			$strComplemento .= " AND usu_nome LIKE '%".$dados['cliente']->cli_contato."%'";
		}
	
		return $this->db->query(
				"SELECT * FROM tbl_usuario
				 WHERE usu_excluido = ?
				 AND usu_status = ?" . $strComplemento, array(0, 1))->row();
	}
	
	public function adicionarUsuario($dados1, $dados2){
		$sqlComplemento = "";
		$strComplemento = "";
		
		if ( isset($dados2['fornecedor_id']) && $dados2['fornecedor_id'] != "" ) {
			$sqlComplemento .= "for_id,";
			$strComplemento .= $dados2['fornecedor_id'];
		}
		
		if ( isset($dados2['cliente_id']) && $dados2['cliente_id'] != "" ) {
			$sqlComplemento .= "cli_id,";
			$strComplemento .= $dados2['cliente_id'];
		}
		
		return $this->db->query(
				"INSERT INTO tbl_usuario (
					pfl_id,
					".$sqlComplemento."
					usu_nome,
					usu_login,
					usu_senha,
					usu_cpf,
					usu_email,
					usu_telefone,
					usu_dataCadastro,
					usu_status,
					usu_excluido
				) VALUES (?, ?, ?, ?, ?, ?, ?, ?, NOW(), 0, 0)",
					array(
							$dados2['perfil_id'], 
							$strComplemento,
							$dados1['contato'], 
							$dados1['login'], 
							$dados1['senha'],
							$dados1['cpf'], 
							$dados1['emailUsuario'], 
							$dados1['telefoneUsuario']
					)
				);
	}
	
	public function alterarUsuario($dados){
		return $this->db->query(
				"UPDATE tbl_usuario 
					SET usu_nome = ?,
						usu_login = ?,
						usu_senha = ?,
						usu_cpf = ?,
						usu_email = ?,
						usu_telefone = ? 
					WHERE usu_id = ?", array(
								$dados['contato'],
								$dados['login'],
								$dados['senha'],
								$dados['cpf'],
								$dados['emailUsuario'],
								$dados['telefoneUsuario'],
								$dados['usuario']
							)
				);
	}
	
	public function excluirUsuario($dados){
		return $this->db->query(
				"UPDATE tbl_usuario
				 SET usu_excluido = ?
				 WHERE usu_id = ?", array(1, $dados));
	}
	

	/* FIM BLOCO USUÁRIO */
	
	
}